package com.huidian.resource.client.dto;

import com.huidian.resource.client.PageVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author super on 2021-04-03 11:18:17
 * Copyright (c) huidiancloud
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@ApiModel("【仪表】-Dto")
public class MeterDto extends PageVo implements Serializable {

	@ApiModelProperty("仪表id,表主键")
	private Long meterId;

	@ApiModelProperty("仪表名称")
	private String meterName;

	@ApiModelProperty("仪表编码")
	private String meterNo;

	@ApiModelProperty("电企业ID来源于cloud_system.entity.entity_id来源于平台企业设置")
	private Integer entityId;

	@ApiModelProperty("企业名称(冗余)")
	private String entityName;

	@ApiModelProperty("应用id,来源于cloud_system.application.application_id")
	private Integer appId;

	@ApiModelProperty("冷站/自动策略id")
	private Long asId;

	@ApiModelProperty("冷站名称")
	private String asName;

	@ApiModelProperty("电力用户,用电单元id,来源于cloud_eems.elec_cust.cust_id其实也就是来源于应用id=5(能管saas)")
	private Integer custId;

	@ApiModelProperty("客户名称(冗余)")
	private String custName;

	@ApiModelProperty("所属采集仪DTU（数据传输单元）id,来源于em_gateway在专项里，也就是app_id = 13的记录这个gw_id由采集★★★千万别手贱修改")
	private Integer gwId;

	@ApiModelProperty(" 仪表型号id,来源于em_energy_type.energy_id")
	private Integer energyId;

	@ApiModelProperty("物联网(Internet Of Things)又称传感网,阿里云物联网-设备ID，设备的唯一标识 在专项里，也就是app_id = 13的记录 这个iot_id由采集程序自动维护★★★千万别手贱修改")
	private String iotId;

	@ApiModelProperty("仪表类型 1,电表 ；2,水表 ；3,氮气表 ；4 压缩空气表；5,冷量表 ；6.温湿度传感器 7 压力表 8.冷水主机通讯仪表 在专项里，也就是app_id = 13的记录 这个类型由采集程序自动维护★★★千万别手贱修改")
	private Long meterType;

	@ApiModelProperty("状态 1 ONLINE：设备在线。 2 OFFLINE：设备离线。3 UNACTIVE：未激活。4 DISABLE：设备已禁用。")
	private Byte status;

	@ApiModelProperty("仪表使用状态 0已关闭;1使用中")
	private Byte useStatus;

	@ApiModelProperty("创建时间")
	private Date createTime;

	@ApiModelProperty("当前客户企业拥有的，能源id，来源于em_energy.em_en_id,用于当前仪表后续电费或者其他类型能源费用计算")
	private Long emEnId;

	@ApiModelProperty("仪表从站标识,用于数据上送时,gw_id + slave(其实也就是从站地址,在压力传感器对应的子设备，比如slave1_yl,slave2_yl),作为一个唯一key,找或者定位对应的仪表 在专项里，也就是app_id = 13的记录 这个从站salve信息由采集程序自动维护★★★千万别手贱修改")
	private String slave;

	@ApiModelProperty("状态变更时间")
	private Date statusTime;

	@ApiModelProperty("仪表主属性修正系数 原始采集数据二次处理时候使用 用在比如,东莞记忆科技电表缺少一相时 根据逻辑要将zxygz*1.5")
	private BigDecimal mainAttrFixRate;

	@ApiModelProperty("采集频率-默认为空，按照仪表类型上的配置来处理(电表大约600秒，温湿度大约1200秒,冷机大约600秒）")
	private Integer acqFreq;

	@ApiModelProperty("机组运行状态是否要特殊判断 null 或者 0 不需要 1 需要")
	private Byte unitStatusCond;

	@ApiModelProperty("DTU品牌 1 极光 ; 2乐舜 ;")
	private Byte dtuBrand;

	@ApiModelProperty("从站地址 不定义为tinyint怕不够，这里从cloud_sem.water_meter.slave_addr移过来，为了方便配置。。。")
	private Integer slaveAddr;

	@ApiModelProperty("主机通信仪表 远程启停设定值-启动位，如果有设置的话，每次数据上报都会去判断bas_enable字段的值同设定值是不是一致的，如果不一致就要远程设置一发")
	private Integer rssSetv;

	@ApiModelProperty("主机通信仪表 远程启停设定值-停止位，")
	private Integer rssSetvStop;

	@ApiModelProperty("仪表类型id")
	private Long mtId;

	@ApiModelProperty("冷机机组状态是否以电表规则判断 0否;1 是 ;")
	private Byte unitWithElec;

	@ApiModelProperty("仪表备注")
	private String remark;

	@ApiModelProperty("1 虚拟; 0或者null非虚拟")
	private Byte virtualized;

}
